package com.qph.utils.base;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

import org.springframework.util.ResourceUtils;

/**
 * 资源文件工具
 * @author Penghui.Qu
 *
 */
public class MessageUtil {

	//资源池
	private static Properties prop = new Properties();
	
	/*
	 * 加载classpath目录下的 *.properties资源文件
	 */

	static {
		try{
			File classPath = ResourceUtils.getFile("classpath:");
			
			File[] files = classPath.listFiles();
			
			for (File file : files){
				//将以.properties结尾的文件加入资源池
				if (file.isFile() && file.getName().lastIndexOf(".properties") > -1){
					prop.load(new FileInputStream(file));
				}
			}
			
		} catch(FileNotFoundException e){
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 获取message.properties中的消息
	 * @param key
	 * @param params
	 * @return
	 */
	public static String getText(String key,Object[] params){
		
		String message = prop.getProperty(key);
		
		return setParams(params, message);
	}
	

	
	/**
	 * 为资源文件中的参数设值
	 * @param params
	 * @param message
	 * @return
	 */
	private static String setParams(Object[] params, String message) {
		if (null != params && params.length > 0){
			for (int i = 0 ; i < params.length ; i++){
				message = message.replace("{"+i+"}", String.valueOf(params[i]));
			}
		}
		return message;
	}
	
	/**
	 * 获取message.properties中的消息
	 * @param key
	 * @return
	 */
	public static String getText(String key){
		return getText(key,null);
	}
	
}
